package com.explorati.design_pattern.behavior.visitor.example;

/**
 * 结构对象元素：该角色有以下责任，可以遍历结构中的所有元素；如果需要，提供一个高层次的接口让访问者对象可以
 * 访问每一个元素，也可以设计一个符合对象或者一个集合，如List或Set。
 * 
 * @author explorati
 *
 */
public class Computer {

	private Hardware cpu;
	private Hardware harddisk;

	public Computer() {
		this.cpu = new CPU("Intel Core i7-620");
		this.harddisk = new Harddisk("Seagate 500G 7200转");
	}

	public void accept(ComputerVisitor computerVisitor) {
		cpu.accept(computerVisitor);
		harddisk.accept(computerVisitor);
	}
}
